package com.ww.springboot.boot.redisson.ratelimiter;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Documented
public @interface RateLimiter {
    String value();

    String param() default "";

    long max() default 100L;

    long ttl() default 1L;

    TimeUnit timeUnit() default TimeUnit.MINUTES;
}